In order for a computer to execute a computer program, program code containing instructions is translated into machine readable code by a compiler. During execution of the computer program, information in the form of instructions and data from the program code may be stored in cache memory to retain this recently used information. According to the principle of spacial locality, sections of the program code that are close together are likely to be executed together. Related data is often stored together since it is likely that the data will be accessed from the cache together.
Compilers use various optimization techniques to minimize the time and computer resources used for execution of the machine readable code. One such technique involves the manner in which related data is partitioned based on the structure of the cache memory and the manner in which data is accessed to/from the cache.